package com.pl.service;  

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.security.core.Authentication;

import com.pl.bean.ManageUserBean;

/**
 * 
 */
public interface ManageUserService {

	/**
	 * 新增
	 */
	public void addManageUser(ManageUserBean manageUserBean);

	/**
	 * 修改
	 */
	public void updateManageUser(ManageUserBean manageUserBean);
	
	/**
	 * 根据条件获得数量
	 */
	public int getManageUserNum(ManageUserBean manageUserBean);
	
	/**
	 * 根据条件获得数据
	 */
	public List<ManageUserBean> getManageUser(ManageUserBean manageUserBean);
	
	/**
	 * 根据条件获得数据
	 */
	public ManageUserBean getManageUserById(Long id);
	
	/**
	 * 根据条件获得数据
	 */
	public ManageUserBean getManageUserByUserName(String userName);
	
	/**
	 * Method name: validateLogin <BR>
	 * Description: 登录验证 <BR>
	 * Remark: <BR>
	 * @param userName
	 * @param password
	 * @param imageCode
	 * @return  失败：返回错误信息，成功，返回null <BR>
	 * @date 2019年11月22日
	 * @author wangjian
	 */
	public String validateLogin(HttpServletRequest request, String userName, String password, String imageCode);
	
	/**
	 * Method name: validateLogin <BR>
	 * Description: 登录验证 <BR>
	 * Remark: <BR>
	 * @param userName
	 * @param password
	 * @param imageCode
	 * @return  失败：返回错误信息，成功，返回null <BR>
	 * @date 2019年11月22日
	 * @author wangjian
	 */
	public String validateLogin(String userName, String password, String imageCode);
	
	/**
	 * Method name: afterSuccessLogin <BR>
	 * Description: 登录成功后操作 <BR>
	 * Remark: <BR>
	 * @param request
	 * @param userBean
	 * @return  String<BR>
	 * @date 2019年11月22日
	 * @author wangjian
	 */
	public void afterSuccessLogin(HttpServletRequest request, ManageUserBean userBean);
	
	/**
	 * 
	 */
	public ManageUserBean getManageUser(Authentication user);
}
